package server.test;

import java.util.ArrayList;
import java.util.List;

import server.IHTTPServer;
import server.sessions.CustomizzatoreRisposteHTML;

/**
 * Server che supporta il riconoscimento delle sessioni
 * @author cl400782
 *
 */
public class PersonalHTTPServer implements IHTTPServer{
	

	private CustomizzatoreRisposteHTML generatoreBenvenuto = new CustomizzatoreRisposteHTML();

	@Override
	public ArrayList<String> elaboraRispostaHTTP(List<String> richiestaHTTP) {
		
		//recupero l'IP aggiunto in testa alla richiesta HTTP e lo elimino per ottenere la richiesta originale
		String IPString = richiestaHTTP.get(0);
		richiestaHTTP.remove(0);
		
		String uri = findUri(richiestaHTTP);
		System.err.println("uri:"+uri);
		
		return generatoreBenvenuto.generaRispostaHtml(uri, IPString);
	}
	
	/**
	 * individua la stringa dell' uri nella richiesta http
	 * @param richiestaHTTP
	 * @return uri
	 */
	private String findUri(List<String> richiestaHTTP) {
		String firstLine=richiestaHTTP.get(0);
		String[] firstLineParts=firstLine.split(" ");
		
		String uriPart=firstLineParts[1];
		String uri=uriPart.substring(uriPart.indexOf("/")+1);

		return uri;
	}
}
